//Map 是一个带键的数据项的集合，就像一个 Object 一样。 但是它们最大的差别是 Map 允许任何类型的键（key）。
let map = new Map();

map.set('1', 'str1');   // 字符串键
map.set(1, 'num1');     // 数字键
map.set(true, 'bool1'); // 布尔值键

// 还记得普通的 Object 吗? 它会将键转化为字符串
// Map 则会保留键的类型，所以下面这两个结果不同：
console.log( map.get(1)   ); // 'num1'
console.log( map.get('1') ); // 'str1'
console.log( map.size ); // 3
console.log(map.has(true)) //true
map.delete("1")
console.log(map)
map.clear()
console.log(map)

//Set 是一个特殊的类型集合 —— “值的集合”（没有键），它的每一个值只能出现一次。
let s = new Set([1, 2, 3, 3, '3']);
console.log(s)
let a = [...new Set([1, 2, 3, 3, '3'])]
console.log(a)
